/**  网络请求封装 
// Api网络请求封装后，做为一个单独的js文件，存放在../utils目录下
// 此Api封装函数中，需要一些针对不同项目的变量，则可将这些变量放在一个单独的文件中存放(config.js) 这些设置参数如：url-api调用地址、appid-ERP的渠道ID、partner_app_id-Api接口接口调用AppID
	 config.js中---------------
	 module.exports = {
			api_url:'http://47.92.5.166:8215/wxmbrsvr/main',
			partner_app_id:'28ab0ed3294d9a1e9ada345d7df62c93',
			as_appid:'99'
	 }
	 在其他js文件中调用以上变量时---------------
	 import config from './config'		//导入config.js文件
	 config.api_url										//变量赋值
**/

import config from '../config/config';  //导入config.js文件，以使用其内部的变量

function post(url,data,callback){    //声明一个函数：post()，根据需要设置传参，这个封装设置了3个参数：operation-API业务功能名称、data-请求传参体、callback-回调

	let Wxopenid = getApp().globalData.wx_openid // 在非pages页面的js文件中，使用全局变量的写法，而不是在代码开始位置申明方法：var App = getApp() 
	let Mbl = getApp().globalData.mbl
	let Unionid = getApp().globalData.unionid
	let Appid = config.as_appid

	// console.log('wxopenid', getApp().globalData.wx_openid)
	// console.log('Mbl', getApp().globalData.mbl )
	// console.log('Unionid', getApp().globalData.unionid)

	wx.showLoading({			//加入一个加载中的提示框，即：显示一个加载中的画圈圈的提示框，直到数据请求成功（需要结束画圈圈,需要wx.hideLoading()）
		title: '加载中',
	});
	
	let Request_parameter = {  		//定义一个对象做为请求传参
		appid: Appid,	
		appuserid: Wxopenid ,  
		mbl: Mbl,					
		unionid: Unionid,		
		...data		// ...data表示可以对”payload对象“的属性进行新增（请求参数具有不确定性，可根据实际情况增加payload对象的属性）
	}
	wx.request({	//原生的微信网络请求的API
		header: {"Content-Type": "application/json"},
		method:'post',
		url: url,
		data:Request_parameter,  //请求参数 
		success:function(res){					//wx.request() 成功
			if(res.data.sc==200){       	//这里需要根据具体接口的返回做规划，如目前施工的接口标准中，在调用后的返回的对象中 第一层 为 sc  st  payload，sc===200则表示接口调用成功
				callback(res.data.payload); //回调当前Api接口调用的返回数据payload下的数据
			}else{
				wx.showModal({							//如果sc != 200 则表示接口调用不成功，此时用模态消息框提示 st的回调内容
					title:res.data.st
				});
				callback(); 								//网络请求不成功也需要callback()回调一下，只不过在回调中什么都不做，因为网络请求失败了。
			}
		},fail:function(res){						//wx.request() 
			wx.showModal({
				title:'请求失败'
			});
			callback();
		},complete:function(res){				//wx.request()请求完成后，结束 画圈圈的提示
			wx.hideLoading()
		}
	})
	
}

module.exports = {  //将封装的函数导出
	post
}





/**
 其他页面使用此封装函数
 如：
	onLoad: function(options) { //data-请求参数体只需要封装时定义的请求参数对象属性，而不需要其他属性的时候，则传递一个空对象{}
	apirequest.post("qrybndmbrinfo",{},function(res){  
		console.log(res)
	})
	},

	或 

	onShow: function () {  //data-请求参数体根据实际API的请求参数，需要增加其他请求参数值属性的时候，则把新增的属性（请求参数，加在{}中，如下增加了一个 mbl的请求参数属性）
		apirequest.post("qrymbrinfo",{"as_mbl": getApp().globalData.mbl},function(res){  
			console.log(res)
		})
	},

 */

